<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>refine_surface_model_pose [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_3dmatching.html">3D 匹配</a> / <a href="toc_3dmatching_surfacebased.html">Surface-Based</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">refine_surface_model_pose</span><span data-if="c" style="display:none;">T_refine_surface_model_pose</span><span data-if="cpp" style="display:none;">RefineSurfaceModelPose</span><span data-if="dotnet" style="display:none;">RefineSurfaceModelPose</span><span data-if="python" style="display:none;">refine_surface_model_pose</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">refine_surface_model_pose</span><span data-if="c" style="display:none;">T_refine_surface_model_pose</span><span data-if="cpp" style="display:none;">RefineSurfaceModelPose</span><span data-if="dotnet" style="display:none;">RefineSurfaceModelPose</span><span data-if="python" style="display:none;">refine_surface_model_pose</span></code> — Refine the pose of a surface model in a 3D scene.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>refine_surface_model_pose</b>( :  : <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, <a href="#InitialPose"><i>InitialPose</i></a>, <a href="#MinScore"><i>MinScore</i></a>, <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, <a href="#GenParamName"><i>GenParamName</i></a>, <a href="#GenParamValue"><i>GenParamValue</i></a> : <a href="#Pose"><i>Pose</i></a>, <a href="#Score"><i>Score</i></a>, <a href="#SurfaceMatchingResultID"><i>SurfaceMatchingResultID</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_refine_surface_model_pose</b>(const Htuple <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, const Htuple <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const Htuple <a href="#InitialPose"><i>InitialPose</i></a>, const Htuple <a href="#MinScore"><i>MinScore</i></a>, const Htuple <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const Htuple <a href="#GenParamName"><i>GenParamName</i></a>, const Htuple <a href="#GenParamValue"><i>GenParamValue</i></a>, Htuple* <a href="#Pose"><i>Pose</i></a>, Htuple* <a href="#Score"><i>Score</i></a>, Htuple* <a href="#SurfaceMatchingResultID"><i>SurfaceMatchingResultID</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>RefineSurfaceModelPose</b>(const HTuple&amp; <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, const HTuple&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const HTuple&amp; <a href="#InitialPose"><i>InitialPose</i></a>, const HTuple&amp; <a href="#MinScore"><i>MinScore</i></a>, const HTuple&amp; <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Pose"><i>Pose</i></a>, HTuple* <a href="#Score"><i>Score</i></a>, HTuple* <a href="#SurfaceMatchingResultID"><i>SurfaceMatchingResultID</i></a>)</code></p>
<p>
<code>HPoseArray <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>RefineSurfaceModelPose</b>(const HSurfaceModel&amp; <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, const HPoseArray&amp; <a href="#InitialPose"><i>InitialPose</i></a>, const HTuple&amp; <a href="#MinScore"><i>MinScore</i></a>, const HString&amp; <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Score"><i>Score</i></a>, HSurfaceMatchingResultArray* <a href="#SurfaceMatchingResultID"><i>SurfaceMatchingResultID</i></a>) const</code></p>
<p>
<code><a href="HPose.html">HPose</a> <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>RefineSurfaceModelPose</b>(const HSurfaceModel&amp; <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, const HPose&amp; <a href="#InitialPose"><i>InitialPose</i></a>, double <a href="#MinScore"><i>MinScore</i></a>, const HString&amp; <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Score"><i>Score</i></a>, HSurfaceMatchingResult* <a href="#SurfaceMatchingResultID"><i>SurfaceMatchingResultID</i></a>) const</code></p>
<p>
<code><a href="HPose.html">HPose</a> <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>RefineSurfaceModelPose</b>(const HSurfaceModel&amp; <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, const HPose&amp; <a href="#InitialPose"><i>InitialPose</i></a>, double <a href="#MinScore"><i>MinScore</i></a>, const char* <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Score"><i>Score</i></a>, HSurfaceMatchingResult* <a href="#SurfaceMatchingResultID"><i>SurfaceMatchingResultID</i></a>) const</code></p>
<p>
<code><a href="HPose.html">HPose</a> <a href="HObjectModel3D.html">HObjectModel3D</a>::<b>RefineSurfaceModelPose</b>(const HSurfaceModel&amp; <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, const HPose&amp; <a href="#InitialPose"><i>InitialPose</i></a>, double <a href="#MinScore"><i>MinScore</i></a>, const wchar_t* <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Score"><i>Score</i></a>, HSurfaceMatchingResult* <a href="#SurfaceMatchingResultID"><i>SurfaceMatchingResultID</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
<p>
<code>HPoseArray <a href="HSurfaceModel.html">HSurfaceModel</a>::<b>RefineSurfaceModelPose</b>(const HObjectModel3D&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const HPoseArray&amp; <a href="#InitialPose"><i>InitialPose</i></a>, const HTuple&amp; <a href="#MinScore"><i>MinScore</i></a>, const HString&amp; <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Score"><i>Score</i></a>, HSurfaceMatchingResultArray* <a href="#SurfaceMatchingResultID"><i>SurfaceMatchingResultID</i></a>) const</code></p>
<p>
<code><a href="HPose.html">HPose</a> <a href="HSurfaceModel.html">HSurfaceModel</a>::<b>RefineSurfaceModelPose</b>(const HObjectModel3D&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const HPose&amp; <a href="#InitialPose"><i>InitialPose</i></a>, double <a href="#MinScore"><i>MinScore</i></a>, const HString&amp; <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Score"><i>Score</i></a>, HSurfaceMatchingResult* <a href="#SurfaceMatchingResultID"><i>SurfaceMatchingResultID</i></a>) const</code></p>
<p>
<code><a href="HPose.html">HPose</a> <a href="HSurfaceModel.html">HSurfaceModel</a>::<b>RefineSurfaceModelPose</b>(const HObjectModel3D&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const HPose&amp; <a href="#InitialPose"><i>InitialPose</i></a>, double <a href="#MinScore"><i>MinScore</i></a>, const char* <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Score"><i>Score</i></a>, HSurfaceMatchingResult* <a href="#SurfaceMatchingResultID"><i>SurfaceMatchingResultID</i></a>) const</code></p>
<p>
<code><a href="HPose.html">HPose</a> <a href="HSurfaceModel.html">HSurfaceModel</a>::<b>RefineSurfaceModelPose</b>(const HObjectModel3D&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const HPose&amp; <a href="#InitialPose"><i>InitialPose</i></a>, double <a href="#MinScore"><i>MinScore</i></a>, const wchar_t* <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Score"><i>Score</i></a>, HSurfaceMatchingResult* <a href="#SurfaceMatchingResultID"><i>SurfaceMatchingResultID</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
<p>
<code>static HPoseArray <a href="HSurfaceMatchingResult.html">HSurfaceMatchingResult</a>::<b>RefineSurfaceModelPose</b>(const HSurfaceModel&amp; <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, const HObjectModel3D&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const HPoseArray&amp; <a href="#InitialPose"><i>InitialPose</i></a>, const HTuple&amp; <a href="#MinScore"><i>MinScore</i></a>, const HString&amp; <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Score"><i>Score</i></a>, HSurfaceMatchingResultArray* <a href="#SurfaceMatchingResultID"><i>SurfaceMatchingResultID</i></a>)</code></p>
<p>
<code><a href="HPose.html">HPose</a> <a href="HSurfaceMatchingResult.html">HSurfaceMatchingResult</a>::<b>RefineSurfaceModelPose</b>(const HSurfaceModel&amp; <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, const HObjectModel3D&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const HPose&amp; <a href="#InitialPose"><i>InitialPose</i></a>, double <a href="#MinScore"><i>MinScore</i></a>, const HString&amp; <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Score"><i>Score</i></a>)</code></p>
<p>
<code><a href="HPose.html">HPose</a> <a href="HSurfaceMatchingResult.html">HSurfaceMatchingResult</a>::<b>RefineSurfaceModelPose</b>(const HSurfaceModel&amp; <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, const HObjectModel3D&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const HPose&amp; <a href="#InitialPose"><i>InitialPose</i></a>, double <a href="#MinScore"><i>MinScore</i></a>, const char* <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Score"><i>Score</i></a>)</code></p>
<p>
<code><a href="HPose.html">HPose</a> <a href="HSurfaceMatchingResult.html">HSurfaceMatchingResult</a>::<b>RefineSurfaceModelPose</b>(const HSurfaceModel&amp; <a href="#SurfaceModelID"><i>SurfaceModelID</i></a>, const HObjectModel3D&amp; <a href="#ObjectModel3D"><i>ObjectModel3D</i></a>, const HPose&amp; <a href="#InitialPose"><i>InitialPose</i></a>, double <a href="#MinScore"><i>MinScore</i></a>, const wchar_t* <a href="#ReturnResultHandle"><i>ReturnResultHandle</i></a>, const HTuple&amp; <a href="#GenParamName"><i>GenParamName</i></a>, const HTuple&amp; <a href="#GenParamValue"><i>GenParamValue</i></a>, HTuple* <a href="#Score"><i>Score</i></a>)  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>RefineSurfaceModelPose</b>(<a href="HTuple.html">HTuple</a> <a href="#SurfaceModelID"><i>surfaceModelID</i></a>, <a href="HTuple.html">HTuple</a> <a href="#ObjectModel3D"><i>objectModel3D</i></a>, <a href="HTuple.html">HTuple</a> <a href="#InitialPose"><i>initialPose</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MinScore"><i>minScore</i></a>, <a href="HTuple.html">HTuple</a> <a href="#ReturnResultHandle"><i>returnResultHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Pose"><i>pose</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Score"><i>score</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#SurfaceMatchingResultID"><i>surfaceMatchingResultID</i></a>)</code></p>
<p>
<code><a href="HPose.html">HPose[]</a> <a href="HObjectModel3D.html">HObjectModel3D</a>.<b>RefineSurfaceModelPose</b>(<a href="HSurfaceModel.html">HSurfaceModel</a> <a href="#SurfaceModelID"><i>surfaceModelID</i></a>, <a href="HPose.html">HPose[]</a> <a href="#InitialPose"><i>initialPose</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MinScore"><i>minScore</i></a>, string <a href="#ReturnResultHandle"><i>returnResultHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Score"><i>score</i></a>, out <a href="HSurfaceMatchingResult.html">HSurfaceMatchingResult[]</a> <a href="#SurfaceMatchingResultID"><i>surfaceMatchingResultID</i></a>)</code></p>
<p>
<code><a href="HPose.html">HPose</a> <a href="HObjectModel3D.html">HObjectModel3D</a>.<b>RefineSurfaceModelPose</b>(<a href="HSurfaceModel.html">HSurfaceModel</a> <a href="#SurfaceModelID"><i>surfaceModelID</i></a>, <a href="HPose.html">HPose</a> <a href="#InitialPose"><i>initialPose</i></a>, double <a href="#MinScore"><i>minScore</i></a>, string <a href="#ReturnResultHandle"><i>returnResultHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Score"><i>score</i></a>, out <a href="HSurfaceMatchingResult.html">HSurfaceMatchingResult</a> <a href="#SurfaceMatchingResultID"><i>surfaceMatchingResultID</i></a>)</code></p>
<p>
<code><a href="HPose.html">HPose[]</a> <a href="HSurfaceModel.html">HSurfaceModel</a>.<b>RefineSurfaceModelPose</b>(<a href="HObjectModel3D.html">HObjectModel3D</a> <a href="#ObjectModel3D"><i>objectModel3D</i></a>, <a href="HPose.html">HPose[]</a> <a href="#InitialPose"><i>initialPose</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MinScore"><i>minScore</i></a>, string <a href="#ReturnResultHandle"><i>returnResultHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Score"><i>score</i></a>, out <a href="HSurfaceMatchingResult.html">HSurfaceMatchingResult[]</a> <a href="#SurfaceMatchingResultID"><i>surfaceMatchingResultID</i></a>)</code></p>
<p>
<code><a href="HPose.html">HPose</a> <a href="HSurfaceModel.html">HSurfaceModel</a>.<b>RefineSurfaceModelPose</b>(<a href="HObjectModel3D.html">HObjectModel3D</a> <a href="#ObjectModel3D"><i>objectModel3D</i></a>, <a href="HPose.html">HPose</a> <a href="#InitialPose"><i>initialPose</i></a>, double <a href="#MinScore"><i>minScore</i></a>, string <a href="#ReturnResultHandle"><i>returnResultHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Score"><i>score</i></a>, out <a href="HSurfaceMatchingResult.html">HSurfaceMatchingResult</a> <a href="#SurfaceMatchingResultID"><i>surfaceMatchingResultID</i></a>)</code></p>
<p>
<code>static <a href="HPose.html">HPose[]</a> <a href="HSurfaceMatchingResult.html">HSurfaceMatchingResult</a>.<b>RefineSurfaceModelPose</b>(<a href="HSurfaceModel.html">HSurfaceModel</a> <a href="#SurfaceModelID"><i>surfaceModelID</i></a>, <a href="HObjectModel3D.html">HObjectModel3D</a> <a href="#ObjectModel3D"><i>objectModel3D</i></a>, <a href="HPose.html">HPose[]</a> <a href="#InitialPose"><i>initialPose</i></a>, <a href="HTuple.html">HTuple</a> <a href="#MinScore"><i>minScore</i></a>, string <a href="#ReturnResultHandle"><i>returnResultHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Score"><i>score</i></a>, out <a href="HSurfaceMatchingResult.html">HSurfaceMatchingResult[]</a> <a href="#SurfaceMatchingResultID"><i>surfaceMatchingResultID</i></a>)</code></p>
<p>
<code><a href="HPose.html">HPose</a> <a href="HSurfaceMatchingResult.html">HSurfaceMatchingResult</a>.<b>RefineSurfaceModelPose</b>(<a href="HSurfaceModel.html">HSurfaceModel</a> <a href="#SurfaceModelID"><i>surfaceModelID</i></a>, <a href="HObjectModel3D.html">HObjectModel3D</a> <a href="#ObjectModel3D"><i>objectModel3D</i></a>, <a href="HPose.html">HPose</a> <a href="#InitialPose"><i>initialPose</i></a>, double <a href="#MinScore"><i>minScore</i></a>, string <a href="#ReturnResultHandle"><i>returnResultHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>, <a href="HTuple.html">HTuple</a> <a href="#GenParamValue"><i>genParamValue</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Score"><i>score</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>refine_surface_model_pose</b>(<a href="#SurfaceModelID"><i>surface_model_id</i></a>: HHandle, <a href="#ObjectModel3D"><i>object_model_3d</i></a>: HHandle, <a href="#InitialPose"><i>initial_pose</i></a>: Sequence[Union[float, int]], <a href="#MinScore"><i>min_score</i></a>: MaybeSequence[Union[float, int]], <a href="#ReturnResultHandle"><i>return_result_handle</i></a>: str, <a href="#GenParamName"><i>gen_param_name</i></a>: Sequence[str], <a href="#GenParamValue"><i>gen_param_value</i></a>: Sequence[Union[str, float, int]]) -&gt; Tuple[Sequence[Union[float, int]], Sequence[float], Sequence[HHandle]]</code></p>
<p>
<code>def <b>refine_surface_model_pose_s</b>(<a href="#SurfaceModelID"><i>surface_model_id</i></a>: HHandle, <a href="#ObjectModel3D"><i>object_model_3d</i></a>: HHandle, <a href="#InitialPose"><i>initial_pose</i></a>: Sequence[Union[float, int]], <a href="#MinScore"><i>min_score</i></a>: MaybeSequence[Union[float, int]], <a href="#ReturnResultHandle"><i>return_result_handle</i></a>: str, <a href="#GenParamName"><i>gen_param_name</i></a>: Sequence[str], <a href="#GenParamValue"><i>gen_param_value</i></a>: Sequence[Union[str, float, int]]) -&gt; Tuple[Sequence[Union[float, int]], Sequence[float], HHandle]</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">refine_surface_model_pose</span><span data-if="c" style="display:none">refine_surface_model_pose</span><span data-if="cpp" style="display:none">RefineSurfaceModelPose</span><span data-if="com" style="display:none">RefineSurfaceModelPose</span><span data-if="dotnet" style="display:none">RefineSurfaceModelPose</span><span data-if="python" style="display:none">refine_surface_model_pose</span></code> refines the approximate
pose <a href="#InitialPose"><i><code><span data-if="hdevelop" style="display:inline">InitialPose</span><span data-if="c" style="display:none">InitialPose</span><span data-if="cpp" style="display:none">InitialPose</span><span data-if="com" style="display:none">InitialPose</span><span data-if="dotnet" style="display:none">initialPose</span><span data-if="python" style="display:none">initial_pose</span></code></i></a> of the surface model <a href="#SurfaceModelID"><i><code><span data-if="hdevelop" style="display:inline">SurfaceModelID</span><span data-if="c" style="display:none">SurfaceModelID</span><span data-if="cpp" style="display:none">SurfaceModelID</span><span data-if="com" style="display:none">SurfaceModelID</span><span data-if="dotnet" style="display:none">surfaceModelID</span><span data-if="python" style="display:none">surface_model_id</span></code></i></a> in
the 3D scene  <a href="#ObjectModel3D"><i><code><span data-if="hdevelop" style="display:inline">ObjectModel3D</span><span data-if="c" style="display:none">ObjectModel3D</span><span data-if="cpp" style="display:none">ObjectModel3D</span><span data-if="com" style="display:none">ObjectModel3D</span><span data-if="dotnet" style="display:none">objectModel3D</span><span data-if="python" style="display:none">object_model_3d</span></code></i></a>.
The surface model <a href="#SurfaceModelID"><i><code><span data-if="hdevelop" style="display:inline">SurfaceModelID</span><span data-if="c" style="display:none">SurfaceModelID</span><span data-if="cpp" style="display:none">SurfaceModelID</span><span data-if="com" style="display:none">SurfaceModelID</span><span data-if="dotnet" style="display:none">surfaceModelID</span><span data-if="python" style="display:none">surface_model_id</span></code></i></a> must have been created previously
with <a href="create_surface_model.html"><code><span data-if="hdevelop" style="display:inline">create_surface_model</span><span data-if="c" style="display:none">create_surface_model</span><span data-if="cpp" style="display:none">CreateSurfaceModel</span><span data-if="com" style="display:none">CreateSurfaceModel</span><span data-if="dotnet" style="display:none">CreateSurfaceModel</span><span data-if="python" style="display:none">create_surface_model</span></code></a> or <a href="read_surface_model.html"><code><span data-if="hdevelop" style="display:inline">read_surface_model</span><span data-if="c" style="display:none">read_surface_model</span><span data-if="cpp" style="display:none">ReadSurfaceModel</span><span data-if="com" style="display:none">ReadSurfaceModel</span><span data-if="dotnet" style="display:none">ReadSurfaceModel</span><span data-if="python" style="display:none">read_surface_model</span></code></a>.
Additionally, <a href="set_surface_model_param.html"><code><span data-if="hdevelop" style="display:inline">set_surface_model_param</span><span data-if="c" style="display:none">set_surface_model_param</span><span data-if="cpp" style="display:none">SetSurfaceModelParam</span><span data-if="com" style="display:none">SetSurfaceModelParam</span><span data-if="dotnet" style="display:none">SetSurfaceModelParam</span><span data-if="python" style="display:none">set_surface_model_param</span></code></a> can be used to
set certain parameters that influence the refinement, such as
restricting the allowed range of rotations.
</p>
<p><code><span data-if="hdevelop" style="display:inline">refine_surface_model_pose</span><span data-if="c" style="display:none">refine_surface_model_pose</span><span data-if="cpp" style="display:none">RefineSurfaceModelPose</span><span data-if="com" style="display:none">RefineSurfaceModelPose</span><span data-if="dotnet" style="display:none">RefineSurfaceModelPose</span><span data-if="python" style="display:none">refine_surface_model_pose</span></code> is useful if the pose of an object in
a scene is approximately known and only needs to be refined.
The refined pose is returned in <a href="#Pose"><i><code><span data-if="hdevelop" style="display:inline">Pose</span><span data-if="c" style="display:none">Pose</span><span data-if="cpp" style="display:none">Pose</span><span data-if="com" style="display:none">Pose</span><span data-if="dotnet" style="display:none">pose</span><span data-if="python" style="display:none">pose</span></code></i></a>, along with a score in
<a href="#Score"><i><code><span data-if="hdevelop" style="display:inline">Score</span><span data-if="c" style="display:none">Score</span><span data-if="cpp" style="display:none">Score</span><span data-if="com" style="display:none">Score</span><span data-if="dotnet" style="display:none">score</span><span data-if="python" style="display:none">score</span></code></i></a>.
It is possible to pass multiple poses for refinement.
Note that, contrary to <a href="find_surface_model.html"><code><span data-if="hdevelop" style="display:inline">find_surface_model</span><span data-if="c" style="display:none">find_surface_model</span><span data-if="cpp" style="display:none">FindSurfaceModel</span><span data-if="com" style="display:none">FindSurfaceModel</span><span data-if="dotnet" style="display:none">FindSurfaceModel</span><span data-if="python" style="display:none">find_surface_model</span></code></a>, the returned poses are
not sorted by their score but are returned in the same order as the input
poses.
</p>
<p>The maximum possible error in the approximate pose that can still be
refined depends on the type of object, the amount of clutter in the scene
and the visible parts of the objects.
In general, differences in the orientation of up to 15° and
differences in the position of up to 10% can be refined.
</p>
<p>The accuracy of the pose refinement is limited to around
0.1% of the model's size due to numerical reasons. The accuracy
further depends on the noise of the scene points, the number of
scene points and the shape of the model.
</p>
<p>Details about the pose refinement and the parameters are described in the
documentation of <a href="find_surface_model.html"><code><span data-if="hdevelop" style="display:inline">find_surface_model</span><span data-if="c" style="display:none">find_surface_model</span><span data-if="cpp" style="display:none">FindSurfaceModel</span><span data-if="com" style="display:none">FindSurfaceModel</span><span data-if="dotnet" style="display:none">FindSurfaceModel</span><span data-if="python" style="display:none">find_surface_model</span></code></a> in the section about the
dense pose refinement step.
The following generic parameters can be set for
<code><span data-if="hdevelop" style="display:inline">refine_surface_model_pose</span><span data-if="c" style="display:none">refine_surface_model_pose</span><span data-if="cpp" style="display:none">RefineSurfaceModelPose</span><span data-if="com" style="display:none">RefineSurfaceModelPose</span><span data-if="dotnet" style="display:none">RefineSurfaceModelPose</span><span data-if="python" style="display:none">refine_surface_model_pose</span></code>, and are also documented in
<a href="find_surface_model.html"><code><span data-if="hdevelop" style="display:inline">find_surface_model</span><span data-if="c" style="display:none">find_surface_model</span><span data-if="cpp" style="display:none">FindSurfaceModel</span><span data-if="com" style="display:none">FindSurfaceModel</span><span data-if="dotnet" style="display:none">FindSurfaceModel</span><span data-if="python" style="display:none">find_surface_model</span></code></a>:
<i><span data-if="hdevelop" style="display:inline">'pose_ref_num_steps'</span><span data-if="c" style="display:none">"pose_ref_num_steps"</span><span data-if="cpp" style="display:none">"pose_ref_num_steps"</span><span data-if="com" style="display:none">"pose_ref_num_steps"</span><span data-if="dotnet" style="display:none">"pose_ref_num_steps"</span><span data-if="python" style="display:none">"pose_ref_num_steps"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'pose_ref_sub_sampling'</span><span data-if="c" style="display:none">"pose_ref_sub_sampling"</span><span data-if="cpp" style="display:none">"pose_ref_sub_sampling"</span><span data-if="com" style="display:none">"pose_ref_sub_sampling"</span><span data-if="dotnet" style="display:none">"pose_ref_sub_sampling"</span><span data-if="python" style="display:none">"pose_ref_sub_sampling"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_rel'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_rel"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_abs'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_abs"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_rel'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_rel"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_abs'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_abs"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'pose_ref_use_scene_normals'</span><span data-if="c" style="display:none">"pose_ref_use_scene_normals"</span><span data-if="cpp" style="display:none">"pose_ref_use_scene_normals"</span><span data-if="com" style="display:none">"pose_ref_use_scene_normals"</span><span data-if="dotnet" style="display:none">"pose_ref_use_scene_normals"</span><span data-if="python" style="display:none">"pose_ref_use_scene_normals"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'3d_edge_min_amplitude_rel'</span><span data-if="c" style="display:none">"3d_edge_min_amplitude_rel"</span><span data-if="cpp" style="display:none">"3d_edge_min_amplitude_rel"</span><span data-if="com" style="display:none">"3d_edge_min_amplitude_rel"</span><span data-if="dotnet" style="display:none">"3d_edge_min_amplitude_rel"</span><span data-if="python" style="display:none">"3d_edge_min_amplitude_rel"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'3d_edge_min_amplitude_abs'</span><span data-if="c" style="display:none">"3d_edge_min_amplitude_abs"</span><span data-if="cpp" style="display:none">"3d_edge_min_amplitude_abs"</span><span data-if="com" style="display:none">"3d_edge_min_amplitude_abs"</span><span data-if="dotnet" style="display:none">"3d_edge_min_amplitude_abs"</span><span data-if="python" style="display:none">"3d_edge_min_amplitude_abs"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'3d_edges'</span><span data-if="c" style="display:none">"3d_edges"</span><span data-if="cpp" style="display:none">"3d_edges"</span><span data-if="com" style="display:none">"3d_edges"</span><span data-if="dotnet" style="display:none">"3d_edges"</span><span data-if="python" style="display:none">"3d_edges"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'use_3d_edges'</span><span data-if="c" style="display:none">"use_3d_edges"</span><span data-if="cpp" style="display:none">"use_3d_edges"</span><span data-if="com" style="display:none">"use_3d_edges"</span><span data-if="dotnet" style="display:none">"use_3d_edges"</span><span data-if="python" style="display:none">"use_3d_edges"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'use_view_based'</span><span data-if="c" style="display:none">"use_view_based"</span><span data-if="cpp" style="display:none">"use_view_based"</span><span data-if="com" style="display:none">"use_view_based"</span><span data-if="dotnet" style="display:none">"use_view_based"</span><span data-if="python" style="display:none">"use_view_based"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'use_self_similar_poses'</span><span data-if="c" style="display:none">"use_self_similar_poses"</span><span data-if="cpp" style="display:none">"use_self_similar_poses"</span><span data-if="com" style="display:none">"use_self_similar_poses"</span><span data-if="dotnet" style="display:none">"use_self_similar_poses"</span><span data-if="python" style="display:none">"use_self_similar_poses"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_edges_rel'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_edges_rel"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_edges_rel"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_edges_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_edges_rel"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_edges_rel"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_edges_abs'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_edges_abs"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_edges_abs"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_edges_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_edges_abs"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_edges_abs"</span></i>,
<i><span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_edges_rel'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_edges_rel"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_edges_rel"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_edges_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_edges_rel"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_edges_rel"</span></i>, and
<i><span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_edges_abs'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_edges_abs"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_edges_abs"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_edges_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_edges_abs"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_edges_abs"</span></i>.
</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<p>This operator returns a handle. Note that the state of an instance of this handle type may be changed by specific operators even though the handle is used as an input parameter by those operators.</p>
<p>This operator supports canceling timeouts and interrupts.</p>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="SurfaceModelID" class="parname"><b><code><span data-if="hdevelop" style="display:inline">SurfaceModelID</span><span data-if="c" style="display:none">SurfaceModelID</span><span data-if="cpp" style="display:none">SurfaceModelID</span><span data-if="com" style="display:none">SurfaceModelID</span><span data-if="dotnet" style="display:none">surfaceModelID</span><span data-if="python" style="display:none">surface_model_id</span></code></b> (input_control)  </span><span>surface_model <code>→</code> <span data-if="dotnet" style="display:none"><a href="HSurfaceModel.html">HSurfaceModel</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the surface model.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ObjectModel3D" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ObjectModel3D</span><span data-if="c" style="display:none">ObjectModel3D</span><span data-if="cpp" style="display:none">ObjectModel3D</span><span data-if="com" style="display:none">ObjectModel3D</span><span data-if="dotnet" style="display:none">objectModel3D</span><span data-if="python" style="display:none">object_model_3d</span></code></b> (input_control)  </span><span>object_model_3d <code>→</code> <span data-if="dotnet" style="display:none"><a href="HObjectModel3D.html">HObjectModel3D</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the 3D object model containing the
scene.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="InitialPose" class="parname"><b><code><span data-if="hdevelop" style="display:inline">InitialPose</span><span data-if="c" style="display:none">InitialPose</span><span data-if="cpp" style="display:none">InitialPose</span><span data-if="com" style="display:none">InitialPose</span><span data-if="dotnet" style="display:none">initialPose</span><span data-if="python" style="display:none">initial_pose</span></code></b> (input_control)  </span><span>pose(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HPose.html">HPose</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Initial pose of the surface model in the scene.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="MinScore" class="parname"><b><code><span data-if="hdevelop" style="display:inline">MinScore</span><span data-if="c" style="display:none">MinScore</span><span data-if="cpp" style="display:none">MinScore</span><span data-if="com" style="display:none">MinScore</span><span data-if="dotnet" style="display:none">minScore</span><span data-if="python" style="display:none">min_score</span></code></b> (input_control)  </span><span>real(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Minimum score of the returned poses.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>0</p>
<p class="pardesc"><span class="parcat">Restriction:
      </span><code>MinScore &gt;= 0</code></p>
</div>
  <div class="par">
<div class="parhead">
<span id="ReturnResultHandle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ReturnResultHandle</span><span data-if="c" style="display:none">ReturnResultHandle</span><span data-if="cpp" style="display:none">ReturnResultHandle</span><span data-if="com" style="display:none">ReturnResultHandle</span><span data-if="dotnet" style="display:none">returnResultHandle</span><span data-if="python" style="display:none">return_result_handle</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Enable returning a result handle in
<a href="#SurfaceMatchingResultID"><i><code><span data-if="hdevelop" style="display:inline">SurfaceMatchingResultID</span><span data-if="c" style="display:none">SurfaceMatchingResultID</span><span data-if="cpp" style="display:none">SurfaceMatchingResultID</span><span data-if="com" style="display:none">SurfaceMatchingResultID</span><span data-if="dotnet" style="display:none">surfaceMatchingResultID</span><span data-if="python" style="display:none">surface_matching_result_id</span></code></i></a>.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'false'</span>
    <span data-if="c" style="display:none">"false"</span>
    <span data-if="cpp" style="display:none">"false"</span>
    <span data-if="com" style="display:none">"false"</span>
    <span data-if="dotnet" style="display:none">"false"</span>
    <span data-if="python" style="display:none">"false"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span>, <span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamName" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></b> (input_control)  </span><span>attribute.name-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Names of the generic parameters.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'3d_edge_min_amplitude_abs'</span><span data-if="c" style="display:none">"3d_edge_min_amplitude_abs"</span><span data-if="cpp" style="display:none">"3d_edge_min_amplitude_abs"</span><span data-if="com" style="display:none">"3d_edge_min_amplitude_abs"</span><span data-if="dotnet" style="display:none">"3d_edge_min_amplitude_abs"</span><span data-if="python" style="display:none">"3d_edge_min_amplitude_abs"</span>, <span data-if="hdevelop" style="display:inline">'3d_edge_min_amplitude_rel'</span><span data-if="c" style="display:none">"3d_edge_min_amplitude_rel"</span><span data-if="cpp" style="display:none">"3d_edge_min_amplitude_rel"</span><span data-if="com" style="display:none">"3d_edge_min_amplitude_rel"</span><span data-if="dotnet" style="display:none">"3d_edge_min_amplitude_rel"</span><span data-if="python" style="display:none">"3d_edge_min_amplitude_rel"</span>, <span data-if="hdevelop" style="display:inline">'3d_edges'</span><span data-if="c" style="display:none">"3d_edges"</span><span data-if="cpp" style="display:none">"3d_edges"</span><span data-if="com" style="display:none">"3d_edges"</span><span data-if="dotnet" style="display:none">"3d_edges"</span><span data-if="python" style="display:none">"3d_edges"</span>, <span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_abs'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_abs"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_abs"</span>, <span data-if="hdevelop" style="display:inline">'pose_ref_dist_threshold_rel'</span><span data-if="c" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="cpp" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="com" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_dist_threshold_rel"</span><span data-if="python" style="display:none">"pose_ref_dist_threshold_rel"</span>, <span data-if="hdevelop" style="display:inline">'pose_ref_num_steps'</span><span data-if="c" style="display:none">"pose_ref_num_steps"</span><span data-if="cpp" style="display:none">"pose_ref_num_steps"</span><span data-if="com" style="display:none">"pose_ref_num_steps"</span><span data-if="dotnet" style="display:none">"pose_ref_num_steps"</span><span data-if="python" style="display:none">"pose_ref_num_steps"</span>, <span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_abs'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_abs"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_abs"</span>, <span data-if="hdevelop" style="display:inline">'pose_ref_scoring_dist_rel'</span><span data-if="c" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="cpp" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="com" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="dotnet" style="display:none">"pose_ref_scoring_dist_rel"</span><span data-if="python" style="display:none">"pose_ref_scoring_dist_rel"</span>, <span data-if="hdevelop" style="display:inline">'pose_ref_sub_sampling'</span><span data-if="c" style="display:none">"pose_ref_sub_sampling"</span><span data-if="cpp" style="display:none">"pose_ref_sub_sampling"</span><span data-if="com" style="display:none">"pose_ref_sub_sampling"</span><span data-if="dotnet" style="display:none">"pose_ref_sub_sampling"</span><span data-if="python" style="display:none">"pose_ref_sub_sampling"</span>, <span data-if="hdevelop" style="display:inline">'pose_ref_use_scene_normals'</span><span data-if="c" style="display:none">"pose_ref_use_scene_normals"</span><span data-if="cpp" style="display:none">"pose_ref_use_scene_normals"</span><span data-if="com" style="display:none">"pose_ref_use_scene_normals"</span><span data-if="dotnet" style="display:none">"pose_ref_use_scene_normals"</span><span data-if="python" style="display:none">"pose_ref_use_scene_normals"</span>, <span data-if="hdevelop" style="display:inline">'use_3d_edges'</span><span data-if="c" style="display:none">"use_3d_edges"</span><span data-if="cpp" style="display:none">"use_3d_edges"</span><span data-if="com" style="display:none">"use_3d_edges"</span><span data-if="dotnet" style="display:none">"use_3d_edges"</span><span data-if="python" style="display:none">"use_3d_edges"</span>, <span data-if="hdevelop" style="display:inline">'use_self_similar_poses'</span><span data-if="c" style="display:none">"use_self_similar_poses"</span><span data-if="cpp" style="display:none">"use_self_similar_poses"</span><span data-if="com" style="display:none">"use_self_similar_poses"</span><span data-if="dotnet" style="display:none">"use_self_similar_poses"</span><span data-if="python" style="display:none">"use_self_similar_poses"</span>, <span data-if="hdevelop" style="display:inline">'use_view_based'</span><span data-if="c" style="display:none">"use_view_based"</span><span data-if="cpp" style="display:none">"use_view_based"</span><span data-if="com" style="display:none">"use_view_based"</span><span data-if="dotnet" style="display:none">"use_view_based"</span><span data-if="python" style="display:none">"use_view_based"</span>, <span data-if="hdevelop" style="display:inline">'viewpoint'</span><span data-if="c" style="display:none">"viewpoint"</span><span data-if="cpp" style="display:none">"viewpoint"</span><span data-if="com" style="display:none">"viewpoint"</span><span data-if="dotnet" style="display:none">"viewpoint"</span><span data-if="python" style="display:none">"viewpoint"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamValue" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamValue</span><span data-if="c" style="display:none">GenParamValue</span><span data-if="cpp" style="display:none">GenParamValue</span><span data-if="com" style="display:none">GenParamValue</span><span data-if="dotnet" style="display:none">genParamValue</span><span data-if="python" style="display:none">gen_param_value</span></code></b> (input_control)  </span><span>attribute.value-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[str, float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string / </span><span data-if="hdevelop" style="display:inline">real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>string</i> / </span><span data-if="dotnet" style="display:none">double / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>HString</i> / </span><span data-if="cpp" style="display:none">double / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>char*</i> / </span><span data-if="c" style="display:none">double / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Values of the generic parameters.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>[]</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>0, 1, <span data-if="hdevelop" style="display:inline">'true'</span><span data-if="c" style="display:none">"true"</span><span data-if="cpp" style="display:none">"true"</span><span data-if="com" style="display:none">"true"</span><span data-if="dotnet" style="display:none">"true"</span><span data-if="python" style="display:none">"true"</span>, <span data-if="hdevelop" style="display:inline">'false'</span><span data-if="c" style="display:none">"false"</span><span data-if="cpp" style="display:none">"false"</span><span data-if="com" style="display:none">"false"</span><span data-if="dotnet" style="display:none">"false"</span><span data-if="python" style="display:none">"false"</span>, 0.005, 0.01, 0.03, 0.05, 0.1</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Pose" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Pose</span><span data-if="c" style="display:none">Pose</span><span data-if="cpp" style="display:none">Pose</span><span data-if="com" style="display:none">Pose</span><span data-if="dotnet" style="display:none">pose</span><span data-if="python" style="display:none">pose</span></code></b> (output_control)  </span><span>pose(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HPose.html">HPose</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">3D pose of the surface model in the scene.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Score" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Score</span><span data-if="c" style="display:none">Score</span><span data-if="cpp" style="display:none">Score</span><span data-if="com" style="display:none">Score</span><span data-if="dotnet" style="display:none">score</span><span data-if="python" style="display:none">score</span></code></b> (output_control)  </span><span>real-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Score of the found instances of the model.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="SurfaceMatchingResultID" class="parname"><b><code><span data-if="hdevelop" style="display:inline">SurfaceMatchingResultID</span><span data-if="c" style="display:none">SurfaceMatchingResultID</span><span data-if="cpp" style="display:none">SurfaceMatchingResultID</span><span data-if="com" style="display:none">SurfaceMatchingResultID</span><span data-if="dotnet" style="display:none">surfaceMatchingResultID</span><span data-if="python" style="display:none">surface_matching_result_id</span></code></b> (output_control)  </span><span>surface_matching_result(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HSurfaceMatchingResult.html">HSurfaceMatchingResult</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[HHandle]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the matching result, if enabled in
<a href="#ReturnResultHandle"><i><code><span data-if="hdevelop" style="display:inline">ReturnResultHandle</span><span data-if="c" style="display:none">ReturnResultHandle</span><span data-if="cpp" style="display:none">ReturnResultHandle</span><span data-if="com" style="display:none">ReturnResultHandle</span><span data-if="dotnet" style="display:none">returnResultHandle</span><span data-if="python" style="display:none">return_result_handle</span></code></i></a>.</p>
</div>
<h2 id="sec_result">结果</h2>
<p><code><span data-if="hdevelop" style="display:inline">refine_surface_model_pose</span><span data-if="c" style="display:none">refine_surface_model_pose</span><span data-if="cpp" style="display:none">RefineSurfaceModelPose</span><span data-if="com" style="display:none">RefineSurfaceModelPose</span><span data-if="dotnet" style="display:none">RefineSurfaceModelPose</span><span data-if="python" style="display:none">refine_surface_model_pose</span></code> returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     if all parameters are
correct. 如有必要，将引发异常。</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="read_object_model_3d.html"><span data-if="hdevelop" style="display:inline">read_object_model_3d</span><span data-if="c" style="display:none">read_object_model_3d</span><span data-if="cpp" style="display:none">ReadObjectModel3d</span><span data-if="com" style="display:none">ReadObjectModel3d</span><span data-if="dotnet" style="display:none">ReadObjectModel3d</span><span data-if="python" style="display:none">read_object_model_3d</span></a></code>, 
<code><a href="xyz_to_object_model_3d.html"><span data-if="hdevelop" style="display:inline">xyz_to_object_model_3d</span><span data-if="c" style="display:none">xyz_to_object_model_3d</span><span data-if="cpp" style="display:none">XyzToObjectModel3d</span><span data-if="com" style="display:none">XyzToObjectModel3d</span><span data-if="dotnet" style="display:none">XyzToObjectModel3d</span><span data-if="python" style="display:none">xyz_to_object_model_3d</span></a></code>, 
<code><a href="get_object_model_3d_params.html"><span data-if="hdevelop" style="display:inline">get_object_model_3d_params</span><span data-if="c" style="display:none">get_object_model_3d_params</span><span data-if="cpp" style="display:none">GetObjectModel3dParams</span><span data-if="com" style="display:none">GetObjectModel3dParams</span><span data-if="dotnet" style="display:none">GetObjectModel3dParams</span><span data-if="python" style="display:none">get_object_model_3d_params</span></a></code>, 
<code><a href="read_surface_model.html"><span data-if="hdevelop" style="display:inline">read_surface_model</span><span data-if="c" style="display:none">read_surface_model</span><span data-if="cpp" style="display:none">ReadSurfaceModel</span><span data-if="com" style="display:none">ReadSurfaceModel</span><span data-if="dotnet" style="display:none">ReadSurfaceModel</span><span data-if="python" style="display:none">read_surface_model</span></a></code>, 
<code><a href="create_surface_model.html"><span data-if="hdevelop" style="display:inline">create_surface_model</span><span data-if="c" style="display:none">create_surface_model</span><span data-if="cpp" style="display:none">CreateSurfaceModel</span><span data-if="com" style="display:none">CreateSurfaceModel</span><span data-if="dotnet" style="display:none">CreateSurfaceModel</span><span data-if="python" style="display:none">create_surface_model</span></a></code>, 
<code><a href="get_surface_model_param.html"><span data-if="hdevelop" style="display:inline">get_surface_model_param</span><span data-if="c" style="display:none">get_surface_model_param</span><span data-if="cpp" style="display:none">GetSurfaceModelParam</span><span data-if="com" style="display:none">GetSurfaceModelParam</span><span data-if="dotnet" style="display:none">GetSurfaceModelParam</span><span data-if="python" style="display:none">get_surface_model_param</span></a></code>, 
<code><a href="find_surface_model.html"><span data-if="hdevelop" style="display:inline">find_surface_model</span><span data-if="c" style="display:none">find_surface_model</span><span data-if="cpp" style="display:none">FindSurfaceModel</span><span data-if="com" style="display:none">FindSurfaceModel</span><span data-if="dotnet" style="display:none">FindSurfaceModel</span><span data-if="python" style="display:none">find_surface_model</span></a></code>, 
<code><a href="edges_object_model_3d.html"><span data-if="hdevelop" style="display:inline">edges_object_model_3d</span><span data-if="c" style="display:none">edges_object_model_3d</span><span data-if="cpp" style="display:none">EdgesObjectModel3d</span><span data-if="com" style="display:none">EdgesObjectModel3d</span><span data-if="dotnet" style="display:none">EdgesObjectModel3d</span><span data-if="python" style="display:none">edges_object_model_3d</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="get_surface_matching_result.html"><span data-if="hdevelop" style="display:inline">get_surface_matching_result</span><span data-if="c" style="display:none">get_surface_matching_result</span><span data-if="cpp" style="display:none">GetSurfaceMatchingResult</span><span data-if="com" style="display:none">GetSurfaceMatchingResult</span><span data-if="dotnet" style="display:none">GetSurfaceMatchingResult</span><span data-if="python" style="display:none">get_surface_matching_result</span></a></code>, 
<code><a href="clear_surface_matching_result.html"><span data-if="hdevelop" style="display:inline">clear_surface_matching_result</span><span data-if="c" style="display:none">clear_surface_matching_result</span><span data-if="cpp" style="display:none">ClearSurfaceMatchingResult</span><span data-if="com" style="display:none">ClearSurfaceMatchingResult</span><span data-if="dotnet" style="display:none">ClearSurfaceMatchingResult</span><span data-if="python" style="display:none">clear_surface_matching_result</span></a></code>, 
<code><a href="clear_object_model_3d.html"><span data-if="hdevelop" style="display:inline">clear_object_model_3d</span><span data-if="c" style="display:none">clear_object_model_3d</span><span data-if="cpp" style="display:none">ClearObjectModel3d</span><span data-if="com" style="display:none">ClearObjectModel3d</span><span data-if="dotnet" style="display:none">ClearObjectModel3d</span><span data-if="python" style="display:none">clear_object_model_3d</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="find_surface_model.html"><span data-if="hdevelop" style="display:inline">find_surface_model</span><span data-if="c" style="display:none">find_surface_model</span><span data-if="cpp" style="display:none">FindSurfaceModel</span><span data-if="com" style="display:none">FindSurfaceModel</span><span data-if="dotnet" style="display:none">FindSurfaceModel</span><span data-if="python" style="display:none">find_surface_model</span></a></code>, 
<code><a href="refine_surface_model_pose_image.html"><span data-if="hdevelop" style="display:inline">refine_surface_model_pose_image</span><span data-if="c" style="display:none">refine_surface_model_pose_image</span><span data-if="cpp" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="com" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="dotnet" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="python" style="display:none">refine_surface_model_pose_image</span></a></code>, 
<code><a href="find_surface_model_image.html"><span data-if="hdevelop" style="display:inline">find_surface_model_image</span><span data-if="c" style="display:none">find_surface_model_image</span><span data-if="cpp" style="display:none">FindSurfaceModelImage</span><span data-if="com" style="display:none">FindSurfaceModelImage</span><span data-if="dotnet" style="display:none">FindSurfaceModelImage</span><span data-if="python" style="display:none">find_surface_model_image</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="create_surface_model.html"><span data-if="hdevelop" style="display:inline">create_surface_model</span><span data-if="c" style="display:none">create_surface_model</span><span data-if="cpp" style="display:none">CreateSurfaceModel</span><span data-if="com" style="display:none">CreateSurfaceModel</span><span data-if="dotnet" style="display:none">CreateSurfaceModel</span><span data-if="python" style="display:none">create_surface_model</span></a></code>, 
<code><a href="find_surface_model.html"><span data-if="hdevelop" style="display:inline">find_surface_model</span><span data-if="c" style="display:none">find_surface_model</span><span data-if="cpp" style="display:none">FindSurfaceModel</span><span data-if="com" style="display:none">FindSurfaceModel</span><span data-if="dotnet" style="display:none">FindSurfaceModel</span><span data-if="python" style="display:none">find_surface_model</span></a></code>, 
<code><a href="refine_surface_model_pose_image.html"><span data-if="hdevelop" style="display:inline">refine_surface_model_pose_image</span><span data-if="c" style="display:none">refine_surface_model_pose_image</span><span data-if="cpp" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="com" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="dotnet" style="display:none">RefineSurfaceModelPoseImage</span><span data-if="python" style="display:none">refine_surface_model_pose_image</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
3D Metrology</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
